package chai.ning.instance;

public class Monkey {
	
	// 没有 static 修饰的成员变量就是 实例变量，实例变量是属于实例的(属于对象的)
	public String name ;
	// 实例初始化器 ( instance initializer )
	{
		System.out.println( "Monkey : instance initializer" );
		System.out.println( this.name ); // 输出默认值
		// 实例初始化器用于在 实例初始化 阶段完成对 实例变量 的初始化操作
		this.name = "猴儿" ;
		System.out.println( this.name );
	}
	
	public Monkey() {
		System.out.println( "Monkey : constructor" );
		System.out.println( this.name );
	}
	
	// 没有 static 修饰的方法就是 实例方法，实例方法需要通过 实例来 调用
	public void increment( int x ) {
		x++ ;
	}
	
	public static void main(String[] args) {
		
		Monkey m = new Monkey();
		System.out.println( m );
		
		System.out.println( "- - - - - - - - - - - - - - - -" );
		
		Monkey o = new Monkey();
		System.out.println( o );
		
		System.out.println( "- - - - - - - - - - - - - - - -" );
		
		Monkey n = new Monkey();
		System.out.println( n );
		
	}

}
